// 迭代器 Interator
 
// 所有可循环 / 迭代的数据类型都必须要实现Interator这个接口
// 即类型内部挂载一个Interator的方法 而Interator方法必须要有一个next()方法对象
// 不断调用next()方法即可完成对数据的遍历

const set = new Set(['foo', 'bar', 'baz'])

const iterator = set[Symbol.iterator]()

//正常遍历
console.log(iterator.next());   // { value: 'foo', done: false }
console.log(iterator.next());   // { value: 'bar', done: false }
console.log(iterator.next());   // { value: 'baz', done: false }
console.log(iterator.next());   // { value: undefined, done: true }  
console.log(iterator.next());   // { value: undefined, done: true }  